/*
 * copyright (c) 2009 Alexandr [Sn@ble] Surnin
 *
 * This file is part of CVP.
 *
 * CVP is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * CVP is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You can read the full version of GNU LGPL in
 * http://www.gnu.org/copyleft/lesser.html
 */


#ifndef FRAMESEEKER_H
#define FRAMESEEKER_H

#include <QMainWindow>
#include <QWidget>
#include <QGridLayout>
#include <QMenu>
#include <QAction>
#include <QMenuItem>
#include <QMenuBar>
#include <QStatusbar>
#include <QFileDialog>
#include <QMessageBox>

#include "trackswidget.h"
#include "videoplayer.h"
#include "fileinfo.h"


/** Main window class
  * \author Alexandr [Sn@ble] Surnin
  */
class FrameSeeker : public QMainWindow {
    Q_OBJECT

public:
    FrameSeeker(QWidget *parent = 0);
    ~FrameSeeker();

public slots:
    /** Create menus, like "File", "Window", "Help", e.t.c.
      */
    void createMenus();


    /** Create actions and assign it to menu items
      */
    void createActions();


    /** Shows a new file (maybe project) dialog
      */
    void newFile();


    /** Shows a open file(video) dialog
      */
    void openFile();


    /** Close the application
      */
    void closeApp();


    /** Show help pages
      */
    void help();


    /** Show about tab
      */
    void about();

private:
    TracksWidget *tracks;
    VideoPlayer *player;
    FileInfo *fileInfo;
    QGridLayout *mainLayout;
    //QMenu mainMenu;

    QMenu *fileMenu;
    QAction *newAction;
    QAction *openAction;
    QAction *exitAction;

    QMenu *helpMenu;
    QAction *helpAction;
    QAction *aboutAction;

};
#endif // FRAMESEEKER_H
